L'Objectif 🎯
- La Tâche : Trouver le meilleur chemin depuis un serveur source `S` vers tous les autres serveurs.
- La Sortie : Pour chaque serveur `i`, vous devez calculer :
- Latence Totale : Le coût minimal (chemin le plus court) du serveur `S` vers `i`.
- Prochain Saut : Le *premier serveur* sur ce chemin le plus court.
- Exemple : Si le meilleur chemin de `S` vers `D` est `S -> A -> B -> D`, alors le **Prochain Saut** est `A`.
Le Réseau 💾
Nous utiliserons une Liste d'Adjacence pour stocker le réseau.
- Les serveurs sont des nœuds.
- Les connexions sont des arêtes bidirectionnelles.
- La latence est un poids positif.
// Liens : 0-1 (10 ms), 0-2 (3 ms)
adj = [
0 :[(1, 10), (2, 3)],
1 :[(0, 10)],
2 :[(0, 3)],
...
]
adj = [
0 :[(1, 10), (2, 3)],
1 :[(0, 10)],
2 :[(0, 3)],
...
]
Le Format de la Sortie ⚙️
Vous devez imprimer `V` lignes. Chaque ligne `i` correspond au serveur `i`.
[latence] [prochain_saut]Pour un nœud accessible.
0 -1Si le nœud est la source `S` elle-même.
-1 -1Si le nœud est inaccessible depuis `S`.